package com.visikard.widget;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.LinearLayout;

import com.visikard.ui.R;

/**
 * Làm cái class đơn giản này để vẽ thêm shadow bên phải của layout thay vì phải
 * dùng một layout kết hợp để vẽ đè một cái view shadow lên làm cho layout tree
 * thêm phức tạp và chạy chậm
 * 
 * @author Tran Vu Tat Binh
 */
public class ShadowOnRightLinearLayout extends LinearLayout {
	private Bitmap mShadowBitmap;
	private Rect mShadowRect = new Rect();

	public ShadowOnRightLinearLayout(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	@Override
	protected void dispatchDraw(Canvas canvas) {
		super.dispatchDraw(canvas);
		if (mShadowBitmap == null) {
			mShadowBitmap = BitmapFactory.decodeResource(getResources(),
					R.drawable.home_setting_swipe_menu_right_shadow);
		}

		mShadowRect.left = getMeasuredWidth() - (getMeasuredWidth() / 10);
		mShadowRect.top = 0;
		mShadowRect.right = getMeasuredWidth();
		mShadowRect.bottom = getMeasuredHeight();
		canvas.drawBitmap(mShadowBitmap, null, mShadowRect, null);
	}
}
